/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package herencia;

/**
 *
 * @author curso
 */
public class PruebaMetodos {
    public static void main(String[] args) {
        Programador p1 = new Programador();
        Jefe j1 = new Jefe();
        Intendente i1 = new Intendente();
        
        p1.trabajar();
        j1.trabajar();
        i1.trabajar();
        
        Empleado e1 = p1;
        //regresa trabajar "Programador programando" ya que es un empleado de tipo Programador
        e1.trabajar();
        
        
        //usando sobrecarga, podemos usar el mismo metodo con diferentes parametros
        p1.trabajar("Servlet");
        p1.trabajar("Servlets", 4);
        
        
        Object o1 = p1;
        Programador p2 = (Programador)o1;
        boolean esJefe = o1 instanceof Jefe;
        System.out.println("Es jefe? " + esJefe);
        
        String s1 = "ya casi nos vamos a comer";
        Object o2 = s1;
        //System.out.println(o2);
        
        if(o2 instanceof Programador){
            Programador p3 = (Programador)o2;
            System.out.println(p3.nombre);
        }
        else if(o2 instanceof String){
            String s = (String) o2;
            System.out.println(s);
        }
    }
}
